//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
//  File:  ioctl_cfg.h
//
//  Configuration file for the IOCTL component.
//
#ifndef __IOCTL_CFG_H
#define __IOCTL_CFG_H

#if __cplusplus
extern "C" {
#endif
#include "hisikernelIoctl.h"
//------------------------------------------------------------------------------
//  RESTRICTION
//
//  This file is a configuration file for the IOCTL component.
//
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//
//  Define:  IOCTL_PLATFORM_TYPE/OEM
//
//  Defines the platform type and OEM string.
//
//
// SmartPhone and PocketPC specific platform version
//
#if defined( project_smartfon )
#define IOCTL_PLATFORM_TYPE                 (L"SmartPhone\0")
#elif defined( project_wpc )
#define IOCTL_PLATFORM_TYPE                 (L"PocketPC\0SSDK\0")
#else
#define IOCTL_PLATFORM_TYPE                 (L"HI3611")
#endif
#define IOCTL_PLATFORM_OEM                  (L"Hisilicon")

#define IOCTL_PLATFORM_MANUFACTURER         (L"Hisilicon")
#define IOCTL_PLATFORM_NAME                 (L"HISIK3")
//------------------------------------------------------------------------------
//  Define:  IOCTL_PROCESSOR_VENDOR/NAME/CORE
//
//  Defines the processor information
//
#define IOCTL_ROM_VERSION                   ("&1.01.001.1 CHS")
#define IOCTL_ROM_DATE                      (__TIMESTAMP__)
#define IOCTL_PROCESSOR_VENDOR              (L"Hisilicon")
#define IOCTL_PROCESSOR_NAME                (L"")
#define IOCTL_PROCESSOR_CORE                (L"Hisilicon-K3")

//------------------------------------------------------------------------------
//
//  Define:  IOCTL_PROCESSOR_INSTRUCTION_SET
//
//  Defines the processor instruction set information
//
#define IOCTL_PROCESSOR_INSTRUCTION_SET     (0)

#if defined (PIGEONLOWER)

#define IOCTL_PROCESSOR_CLOCK_SPEED	        (360)

#elif defined (PIGEONSUPPER)
#define IOCTL_PROCESSOR_CLOCK_SPEED	        (460)

#elif defined (PIGEONLEADER)
#define IOCTL_PROCESSOR_CLOCK_SPEED	        (520)

#else
#define IOCTL_PROCESSOR_CLOCK_SPEED	        (400)

#endif
//------------------------------------------------------------------------------

BOOL OALIoCtlGetRomInfo(UINT32 code, VOID *pInpBuffer, UINT32 inpSize,
VOID *pOutBuffer, UINT32 outSize, UINT32 *pOutSize);
BOOL OALIoCtlSetCleanBootFlag(UINT32 code, VOID *pInpBuffer, UINT32 inpSize,
VOID *pOutBuffer, UINT32 outSize, UINT32 *pOutSize);
#if __cplusplus
}
#endif

#endif
